package com.example.tio.tcp.server;


import java.io.IOException;

import com.example.tio.tcp.common.Const;
import org.tio.server.DefaultTioServerListener;
import org.tio.server.TioServerConfig;
import org.tio.server.TioServer;
import org.tio.server.intf.TioServerListener;
/**
 *
 * @author tanyaowu
 * 2017年4月4日 下午12:22:58
 */
public class TioServerStarter {

    //handler, 包括编码、解码、消息处理
    public static org.tio.server.intf.TioServerHandler tioHandler = new TioServerHandler();
    //事件监听器，可以为null，但建议自己实现该接口，可以参考showcase了解些接口
    public static TioServerListener tioListener = new DefaultTioServerListener();
    //一组连接共用的上下文对象
    public static TioServerConfig tioServerConfig = new TioServerConfig("hello-tio-server", tioHandler, tioListener);
    //tioServer对象
    public static TioServer tioServer = new TioServer(tioServerConfig);
    //有时候需要绑定ip，不需要则null
    public static String serverIp = null;
    //监听的端口
    public static int serverPort = Const.PORT;

    /**
     * 启动程序入口
     */
    public static void main(String[] args) throws IOException {
        tioServerConfig.setHeartbeatTimeout(Const.TIMEOUT);
        tioServer.start(serverIp, serverPort);
    }

}
